#pragma once

#include "vortex/graphics/renderable/mesh.h"
#include "vortex/gapi/shader.h"
#include "vortex/graphics/projection.h"

namespace vortex
{
#define MAX_VERTICES 20000

    class MeshRenderer
    {
    private:
        std::shared_ptr<ShaderProgram> shader;

    public:
        MeshRenderer();
        ~MeshRenderer();

        void Begin(const Environment3D& env);
        void Draw(const Mesh& mesh);
        void Draw(const Mesh& mesh, const glm::mat4& model_transform);
        void End();
    };
}
